package com.cskaoyan.wordmemorize.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cskaoyan.wordmemorize.dao.entity.LevelDO;
import com.cskaoyan.wordmemorize.dao.entity.LevelPrivilegeDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface LevelMapper extends BaseMapper<LevelDO> {
    /**
     * 查询用户当前等级
     * @param userId 用户ID
     * @return 等级信息
     */
    LevelDO selectCurrentLevel(@Param("userId") Long userId);

    /**
     * 查询用户当前等级的特权
     * @param levelId 等级ID
     * @return 特权列表
     */
    List<LevelPrivilegeDO> selectPrivilegesByLevelId(@Param("levelId") String levelId);

    /**
     * 查询用户未达到的更高等级（按等级值升序）
     * @param currentLevelValue 当前等级值
     * @return 更高等级列表
     */
    List<LevelDO> selectUpperLevels(@Param("currentLevelValue") Integer currentLevelValue);

}
